<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function test(){
        //     for(let i=0;i<num;i++){
        //         count += num--
        //     }
        // }

        // let num = 9876543210
        // let count = 0
        // test()
        // console.log('由于上面执行的非常慢，我想要先打印')

        //上面的代码 循环中非常耗时，想先打印下面的话，可以做任务拆分


        // function test(){
        //     for(let i=0;i<10000;i++){ // 这里 i<10000 ,即10000 比num 要小
        //         if(num==0)break
        //         count += num--

        //     }

        //     if(num>0){
        //         console.log(count)
        //          setTimeout(test)
        //     }


        // }

        // let num = 9876543
        // let count = 0
        // test()
        // console.log('由于上面执行的非常慢，我想要先打印')



        //除了上面的任务拆分，还可以通过异步任务来解决
        // function test() {
        //     setTimeout(() => {
        //         for (let i = 0; i < num; i++) { 
        //             if (num == 0) break
        //             count += num--

        //         }
        //         console.log(count)
        //     })
        // }

        // let num = 98765432
        // let count = 0
        // test()
        // console.log('由于上面执行的非常慢，我想要先打印')



        async function test() {
            let res = await Promise.resolve().then(()=>{
                for (let i = 0; i < num; i++) { 
                    if (num == 0) break
                    count += num--

                }
                return count
            })
            console.log(res)
           
        }

        let num = 98765432
        let count = 0
        test()
        console.log('由于上面执行的非常慢，我想要先打印')
    </script>
</body>

</html>